package cn.gok.homework;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

/**
 * className : cn.gok.homework.homework4
 * Desc : TODO
 *
 * @author : lenovo
 * @date : 2022/7/7 13:56
 *
 * 1 使用大数运算，就算
 *   4444444.4444/3.333333的值，保留2位小数，四舍五入
 *
 * 2  输入你生日的前一周的周四是该年的第几天？
 * Calendar:set方法设置到你的生日，
 * add方法跳到前一周的周四，通过 xxxx获得是该年的第几天? get(Calendar.DAY_OF_YEAR)
 *
 * 3、递归输出src目录中的所有.java文件的绝对路径。
 *
 * 4、在电脑D盘下创建一个文件为HelloWorld.txt文件，判断他是文件还是目录，再创建一个目录IOTest，之后将HelloWorld.txt拷贝到IOTest目录的a.txt去。
 *
 *
 * 5、从utf-8编码格式的文本复制到GBK编码的文本（不能出现乱码）
 *  也是不会
 */
public class homework4 {
    public static void main(String[] args) throws IOException {
        //大数运算();
        //算生日();


        // File file3=new File("I:\\小学期\\idea\\javase_project\\day4\\src\\cn\\gok");
        //递归输出(file3);

        //在电脑D盘下创建一个文件为HelloWorld.txt文件，判断他是文件还是目录，再创建一个目录IOTest，之后将HelloWorld.txt拷贝到IOTest目录的a.txt去。
        Writer wr=new FileWriter("D:\\HelloWorld.txt");
        wr.write("66666");
        wr.close();
        File fwr=new File("D:\\HelloWorld.txt");
        System.out.println(fwr.isFile());
        File io=new File("D:\\IOTest");
        io.mkdirs();
        Reader rd1=new FileReader("D:\\HelloWorld.txt");
        Writer wr2=new FileWriter("D:\\IOTest\\a.txt");
        char c3[]=new char[4];
        int len = 0;
        while((len=rd1.read(c3))!=-1){
            wr2.write(c3,0,len);
        }

        rd1.close();
        wr2.close();


    }


    private static void 递归输出(File file) {
        File file1[]=file.listFiles();//遍历目录获取的子文件、子目录
        for (File file2:file1){
            if (file2.isFile()){
                if (file2.getPath().endsWith(".java")){
                    System.out.println("文件绝对路径："+file2.getAbsolutePath());
                }

            }
        }
    }

    //输出你生日的前一周的周四是该年的第几天？
    private static void 算生日() {
        Calendar calendar = Calendar.getInstance();
        // Calendar:set方法设置到你的生日，
        System.out.println("年：");
        int year= new Scanner(System.in).nextInt();
        System.out.println("月：");
        int month= new Scanner(System.in).nextInt()-1;
        System.out.println("日：");
        int date= new Scanner(System.in).nextInt();
        calendar.set(year,month,date);
        // add方法跳到前一周的周四，通过 xxxx获得是该年的第几天? get(Calendar.DAY_OF_YEAR)
        //获取当天为星期几
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println(dayOfWeek);
        if (dayOfWeek==4){
            int date1 = calendar.get(Calendar.DAY_OF_YEAR)-7;
            System.out.println(date1);
        }else if (dayOfWeek==1){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-4;
            System.out.println(date2);
        }else if (dayOfWeek==2){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-5;
            System.out.println(date2);
        }else if (dayOfWeek==3){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-6;
            System.out.println(date2);
        }else if (dayOfWeek==5){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-8;
            System.out.println(date2);
        }else if (dayOfWeek==6){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-9;
            System.out.println(date2);
        }else if (dayOfWeek==7){
            int date2 =calendar.get(Calendar.DAY_OF_YEAR)-10;
            System.out.println(date2);
        }

    }

    //* 1 使用大数运算，计算4444444.4444/3.333333的值，保留2位小数，四舍五入
    private static void 大数运算() {
        BigDecimal b1 = new BigDecimal(4444444.4444);
        BigDecimal b2 = new BigDecimal(3.333333);
        BigDecimal result = b1.divide(b2,2, RoundingMode.HALF_UP); //保留2位，四舍五入
        System.out.println(result.toString());
    }



}
